using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CollectionCardVisual")]
	public class CollectionCardVisual : PegUIElement
	{
		public enum LockType
		{
			NONE,
			MAX_COPIES_IN_DECK,
			NO_MORE_INSTANCES
		}

		public CollectionCardCount m_count => method_3<CollectionCardCount>("m_count");

		public CollectionCardLock m_cardLock => method_3<CollectionCardLock>("m_cardLock");

		public GameObject m_newCardCallout => method_3<GameObject>("m_newCardCallout");

		public Vector3 m_boxColliderCenter => method_2<Vector3>("m_boxColliderCenter");

		public Vector3 m_boxColliderSize => method_2<Vector3>("m_boxColliderSize");

		public Vector3 m_heroSkinBoxColliderCenter => method_2<Vector3>("m_heroSkinBoxColliderCenter");

		public Vector3 m_heroSkinBoxColliderSize => method_2<Vector3>("m_heroSkinBoxColliderSize");

		public static string ADD_CARD_TO_DECK_SOUND => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CollectionCardVisual", "ADD_CARD_TO_DECK_SOUND");

		public static string CARD_LIMIT_UNLOCK_SOUND => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CollectionCardVisual", "CARD_LIMIT_UNLOCK_SOUND");

		public static string CARD_LIMIT_LOCK_SOUND => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CollectionCardVisual", "CARD_LIMIT_LOCK_SOUND");

		public static string CARD_MOUSE_OVER_SOUND => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CollectionCardVisual", "CARD_MOUSE_OVER_SOUND");

		public static string CARD_MOVE_INVALID_OR_CLICK_SOUND => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "CollectionCardVisual", "CARD_MOVE_INVALID_OR_CLICK_SOUND");

		public Vector3 m_originalPosition => method_2<Vector3>("m_originalPosition");

		public CollectionCardActors m_actors => method_3<CollectionCardActors>("m_actors");

		public LockType m_lockType => method_2<LockType>("m_lockType");

		public bool m_shown => method_2<bool>("m_shown");

		public CollectionManagerDisplay.ViewMode m_visualType => method_2<CollectionManagerDisplay.ViewMode>("m_visualType");

		public int m_cmRow => method_2<int>("m_cmRow");

		public bool m_lastClickLeft => method_2<bool>("m_lastClickLeft");

		public CollectionCardVisual(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CollectionCardVisual(IntPtr address)
			: this(address, "CollectionCardVisual")
		{
		}

		public static void ShowActorShadow(Actor actor, bool show)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "CollectionCardVisual", "ShowActorShadow", actor, show);
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public bool IsShown()
		{
			return method_11<bool>("IsShown", Array.Empty<object>());
		}

		public void ShowLock(LockType type)
		{
			method_9("ShowLock", new Class276.Enum20[1] { Class276.Enum20.ValueType }, type);
		}

		public void ShowLock(LockType lockType, string reason, bool playSound)
		{
			method_9("ShowLock", new Class276.Enum20[3]
			{
				Class276.Enum20.ValueType,
				Class276.Enum20.String,
				Class276.Enum20.Boolean
			}, lockType, reason, playSound);
		}

		public void OnDoneCrafting()
		{
			method_8("OnDoneCrafting");
		}

		public void HidePreferredActorIfNecessary(CollectionCardActors actors)
		{
			method_8("HidePreferredActorIfNecessary", actors);
		}

		public void SetActors(CollectionCardActors actors, CollectionManagerDisplay.ViewMode type)
		{
			method_8("SetActors", actors, type);
		}

		public Actor GetActor()
		{
			return method_14<Actor>("GetActor", Array.Empty<object>());
		}

		public CollectionCardActors GetCollectionCardActors()
		{
			return method_14<CollectionCardActors>("GetCollectionCardActors", Array.Empty<object>());
		}

		public CollectionManagerDisplay.ViewMode GetVisualType()
		{
			return method_11<CollectionManagerDisplay.ViewMode>("GetVisualType", Array.Empty<object>());
		}

		public void SetCMRow(int rowNum)
		{
			method_8("SetCMRow", rowNum);
		}

		public int GetCMRow()
		{
			return method_11<int>("GetCMRow", Array.Empty<object>());
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public void SetHeroSkinBoxCollider()
		{
			method_8("SetHeroSkinBoxCollider");
		}

		public void SetDefaultBoxCollider()
		{
			method_8("SetDefaultBoxCollider");
		}

		public bool CheckCardSeen()
		{
			return method_11<bool>("CheckCardSeen", Array.Empty<object>());
		}

		public new void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public new void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public new void OnHold()
		{
			method_8("OnHold");
		}

		public new void OnRelease()
		{
			method_8("OnRelease");
		}

		public new void OnRightClick()
		{
			method_8("OnRightClick");
		}

		public void EnterCraftingMode()
		{
			method_8("EnterCraftingMode");
		}

		public bool IsTransactionPendingOnThisCard()
		{
			return method_11<bool>("IsTransactionPendingOnThisCard", Array.Empty<object>());
		}

		public bool ShouldIgnoreAllInput()
		{
			return method_11<bool>("ShouldIgnoreAllInput", Array.Empty<object>());
		}

		public bool IsInCollection()
		{
			return method_11<bool>("IsInCollection", Array.Empty<object>());
		}

		public bool IsUnlocked()
		{
			return method_11<bool>("IsUnlocked", Array.Empty<object>());
		}

		public bool CanPickUpCard()
		{
			return method_11<bool>("CanPickUpCard", Array.Empty<object>());
		}

		public void ShowNewCardCallout(bool show)
		{
			method_8("ShowNewCardCallout", show);
		}

		public void UpdateCardCount()
		{
			method_8("UpdateCardCount");
		}

		public void UpdateCardCountVisibility()
		{
			method_8("UpdateCardCountVisibility");
		}

		public void SendLeftRightClickTelemetry(Actor actor)
		{
			method_8("SendLeftRightClickTelemetry", actor);
		}
	}
}
